ইনডেক্সিং এর ফলে-
i. ডেটা খুঁজে পাওয়া সহজ হয়
ii. মূল ফাইলের কোনোরূপ পরিবর্তন হয় না
iii. ডেটা এন্ট্রিতে সময় বেশি প্রয়োজন হয়

Updated: 1 month ago
  • ক
    i ও ii
  • খ
    i ও iii
  • গ
    ii ও iii
  • ঘ
    i, ii ও iii
1.2k
ব্যাখ্যাঃ

ইনডেক্সিং (Indexing) হলো ডেটাবেজে ডেটা দ্রুত খুঁজে বের করার একটি প্রক্রিয়া। এটি ডেটার একটি সুবিন্যস্ত তালিকা তৈরি করে, যা মূল ডেটা ফাইলের একটি রেফারেন্স হিসেবে কাজ করে। এর ফলে ডেটাবেজে সংরক্ষিত ডেটা আরও সহজে এবং দ্রুত অ্যাক্সেস করা যায়।

ইনডেক্সিং এর ফলে যে বিষয়গুলো ঘটে, সেগুলো নিচে বিশ্লেষণ করা হলো:

        
  •         i. ডেটা খুঁজে পাওয়া সহজ হয়: এটি ইনডেক্সিং এর প্রধান উদ্দেশ্য। একটি বইয়ের ইনডেক্স বা সূচীপত্রের মতো, ডেটাবেজ ইনডেক্স ডেটাগুলিকে একটি নির্দিষ্ট ক্রম অনুসারে সাজিয়ে রাখে। যখন আপনি কোনো নির্দিষ্ট ডেটা খুঁজতে চান, তখন ডেটাবেজ পুরো ফাইল স্ক্যান না করে সরাসরি ইনডেক্স ব্যবহার করে ডেটার অবস্থান খুঁজে বের করতে পারে, যা ডেটা পুনরুদ্ধারের (Retrieval) গতি অনেক বাড়িয়ে দেয়। তাই এই উক্তিটি সঠিক।     
  •     
  •         ii. মূল ফাইলের কোনোরূপ পরিবর্তন হয় না: ইনডেক্সিং প্রক্রিয়া ডেটাবেজের মূল ডেটা ফাইলকে সরাসরি পরিবর্তন করে না। এটি মূল ডেটার একটি পৃথক, সুসংগঠিত কাঠামো (ইনডেক্স ফাইল) তৈরি করে। এই ইনডেক্স ফাইলটিতে মূল ডেটার বিভিন্ন ক্ষেত্রের (Field) মান এবং সেই ডেটা রেকর্ডগুলোর ভৌত অবস্থান (Physical Location) সম্পর্কে তথ্য থাকে। মূল ডেটা তার আসল স্থানে অপরিবর্তিত থাকে। তাই এই উক্তিটি সঠিক।     
  •     
  •         iii. ডেটা এন্ট্রিতে সময় বেশি প্রয়োজন হয়: যখন ডেটাবেজে নতুন ডেটা প্রবেশ করানো হয় (Insert), ডেটা আপডেট করা হয় (Update) বা ডেটা মুছে ফেলা হয় (Delete), তখন মূল ডেটা ফাইলের পাশাপাশি ইনডেক্স ফাইলটিও আপডেট করতে হয়। ইনডেক্সটিকে ডেটার পরিবর্তনের সাথে সঙ্গতিপূর্ণ রাখতে হয়। এই ইনডেক্স আপডেটের জন্য অতিরিক্ত প্রক্রিয়াকরণ সময় (Processing Time) এবং রিসোর্স (Resources) প্রয়োজন হয়, যার ফলে ডেটা এন্ট্রি এবং ডেটা পরিবর্তনের (Write Operations) সামগ্রিক সময় বৃদ্ধি পায়। তাই এই উক্তিটিও সঠিক।     

উপরিউক্ত আলোচনা থেকে বোঝা যায় যে, ইনডেক্সিং এর ফলে i, ii এবং iii তিনটি উক্তিই সঠিক।

Satt AI
Satt AI
2 months ago

এসকিউএল একটি ডিক্লারেটিভ প্রোগ্রামিং ভাষা, এ কথা পূর্বেই বলা হয়েছে। এখানে কী করতে হবে, এটিই গুরুত্বপূর্ণ। কীভাবে করতে হবে, সেটি ডেটাবেজ সফটওয়্যারের দায়িত্ব। এখন, কোনো টেবিলে যখন অনেক অনেক বেশি ডেটা থাকে (যেমন— পাঁচ লক্ষ, দশ লক্ষ কিংবা আরো বেশি), তখন বিভিন্ন কুয়েরির গতি অনেক কমে যায়, অর্থাৎ কুয়েরি চলতে অনেক বেশি সময় লাগে। যেমন— একটি টেবিলে যদি এ বছরের মাধ্যমিক পরীক্ষায় ঢাকা বোর্ডের সব শিক্ষার্থীর ডেটা থাকে, তাহলে সেই টেবিলে পাঁচ থেকে দশ লক্ষের মতো রেকর্ড বা রো থাকবে। এখন যদি সেখান থেকে নাম কিংবা রোল নম্বর (বা রেজিস্ট্রেশন নম্বর) দিয়ে একজন শিক্ষার্থীর তথ্য বের করার চেষ্টা করা হয়, তাহলে সেই কুয়েরি চলতে বেশ সময় লাগবে। কারণ তখন লিনিয়ার সার্চের মাধ্যমে এক এক করে সবার তথ্য পরীক্ষা করা হবে এবং যাদের সঙ্গে মিল পাওয়া যাবে, তাদের তথ্য দেখানো হবে। লিনিয়ার সার্চ কীভাবে কাজ করে সেটি আগের অধ্যায়ে আলোচনা করা হয়েছে। টেবিলে যত বেশি রেকর্ড থাকবে, তত বেশি সময় লাগবে।

ইনডেক্সিং হচ্ছে একটি বিশেষ পদ্ধতি, যার মাধ্যমে ডেটা সহজে ও দ্রুত খুঁজে পাওয়া যায়। যেমন— ডিকশনারি বা অভিধান ব্যবহার করার সময় কোনো শব্দ খুঁজতে কিন্তু বেশি সময় লাগে না। কারণ শব্দগুলো একটি ক্রমে সাজানো থাকে, এবং অভিধানের কোনো পাতা খুললে কাঙ্ক্ষিত শব্দটি ওই পাতায়, নাকি তার আগে না পরে আছে, সেটি সহজেই বোঝা যায়। ডেটা যদি সর্ট করা থাকে তাহলে বাইনারি সার্চ ব্যবহার করে খুব দ্রুতে খুঁজে পাওয়া যায়। তেমনি কোনো বিশেষ কলামের উপর ইনডেক্স তৈরি করলে সেই কলামের মান দিয়ে ডেটা খুঁজলে ডেটাবেজ সফটওয়্যার খুব দ্রুত সেটি বের করে দিতে পারে। ডেটাবেজ কীভাবে ইনডেক্স তৈরি করার কাজটি করবে, সেটি ব্যবহারকারীর জানতে হয় না, কেবল কোন কলামের উপর ইনডেক্স তৈরি করতে হবে, সেটি বলে দিতে হয়। প্রয়োজন হলে একাধিক কলামের উপরও ইনডেক্স তৈরি করা যায়।

ইনডেক্স তৈরির কুয়েরি লেখার নিয়ম হচ্ছে—

CREATE INDEX [ইনডেক্সের নাম] ON [টেবিলের নাম] ([কলামের নাম], একাধিক কলামের ক্ষেত্রে নামগুলো কমা দিয়ে পৃথক করা থাকতে হবে);

যেমন— class কলামের উপর ইনডেক্স তৈরি করতে চাইলে নিচের কুয়েরি লিখতে হবে

CREATE INDEX student_class_idx ON student (class ) ;

ইনডেক্স তৈরি করলে কলামের উপর নির্ভর করে ডেটা খুঁজে পেতে যেমন সহজ হয়, তেমনি যেই কলামের উপর ইনডেক্স করা হয়েছে, সেটি অনুসারে সর্ট করলেও সর্ট করার কাজটি দ্রুত হয়। উপরের ইনডেক্স তৈরি করার ফলে SELECT * FROM student ORDER BY class; কুয়েরিটি অনেক দ্রুত কাজ করবে।

আবার অনেক সময় অনন্য (unique) ইনডেক্স তৈরি করা যায়, যেন একই ডেটা ডেটাবেজে একাধিকবার না ঢোকে। যেমন— নিচের ইনডেক্স তৈরি করা হলে student টেবিলে একই শাখার একই ক্লাসের একই রোল নম্বরের কেবল একজন শিক্ষার্থী থাকবে-

CREATE UNIQUE INDEX unique_student_idx ON student (section, class, roll) ;

কাজটি টেবিল তৈরি করার পরে যে কোনো সময় করা যায়। এমনকি টেবিলে ডেটা রাখার পরেও করা যায়। আবার টেবিল তৈরি করার সময়ও এক বা একাধিক ফিল্ডকে ইউনিক ঘোষণা করা যায়।

দশম শ্রেণির day শাখার রোল নম্বর 1 ইতোমধ্যে student টেবিলে আছে। এখন যদি এরকম আরেকটি ডেটা রাখার চেষ্টা করা হয়, তাহলে ডেটাবেজ সেটি হতে দেবে না। ইতিপূর্বে একটি উদাহরণে দেখানো হয়েছিল যে একই ক্লাসের একই রোল নম্বরে দুজন শিক্ষার্থীর ডেটা টেবিলে ঢুকে গিয়েছে। ইউনিক ইনডেক্স ব্যবহার করলে বিষয়টি এড়ানো যায়।

sqlite > INSERT INTO student (name, class, roll, section) VALUES ( ' Maysha', 10, 1, ' day' ) ; Error: UNIQUE constraint failed: student.section, student.class, student.roll

উল্লেখ্য যে, কোনো টেবিলে কোনো কলামকে প্রাইমারি কি হিসেবে ঘোষণা করলে ডেটাবেজ আপনা-আপনি ওই কলামের উপর ইনডেক্স তৈরি করে নেয়, আলাদাভাবে ইনডেক্স তৈরি করার প্রয়োজন হয় না।

ডেটাবেজে ইনডেক্স তৈরির বিভিন্ন সুবিধার পাশাপাশি কিছু অসুবিধাও আছে। প্রথমত, ইনডেক্স তৈরির পরে সেই টেবিলে কোনো নতুন ডেটা যোগ করা, মুছে ফেলা বা পরিবর্তন করা হলে ইনডেক্স যেখানে তৈরি করা হয়েছে, সেখানেও পরিবর্তন হয়। কাজটি ডেটাবেজ নিজেই করে, তবে এর ফলে INSERT, UPDATE, DELETE কুয়েরি চলতে আগের চেয়ে বেশি সময় লাগে। এছাড়া ইনডেক্স তৈরি করতে অতিরিক্ত জায়গার প্রয়োজন হয়, অর্থাৎ হার্ড ডিস্কের অতিরিক্ত জায়গা খরচ হয়।

কোনো ইনডেক্স মুছে ফেলতে হলে DROP INDEX লিখে তারপরে ইনডেক্সের নাম লিখতে হবে। যেমন—

DROP INDEX student class idx;

 

 

শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন ও
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র

Related Question

মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews

Question Analytics

মোট উত্তরদাতা

জন

সঠিক
ভুল
উত্তর নেই